import { computed } from 'vue'
import { useStore } from 'vuex'
export default function (mapper, func) { // mapper为传入的数组或者对象
  const store = useStore()// 获取state对象
  const stateFns = func(mapper)
  const stateMaps = {}
  Object.keys(stateFns).forEach((key) => { // 遍历数组或者对象，加入计算属性
    // 计算属性接收一个方法，mapState()返回的就是一个键值对，值就是方法
    stateMaps[key] = computed(stateFns[key].bind({ $store: store }))
  })
  return stateMaps
}

/*
mapState 返回的是一个键值对，值是一个方法用来获取所需要的值
*/
